libxc: Fix 32-vs-64 bitness issue in saving vcpu contexts in core dump
authorKeir Fraser <keir.fraser@citrix.com>
Thu, 26 Nov 2009 11:00:15 +0000 (11:00 +0000)
committerKeir Fraser <keir.fraser@citrix.com>
Thu, 26 Nov 2009 11:00:15 +0000 (11:00 +0000)
Signed-off-by: Mukesh Rathor <mukesh.rathor@oracle.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
tools/libxc/xc_core.c

index 0c226ac7b285d6039e373b7d14f8a41754c25f11..9778ea0a94057010945bb92edfa43db8236aee77 100644 (file)
@@ -628,10 +628,10 @@ xc_domain_dumpcore_via_callback(int xc_handle,
         PERROR("Could not get section header for .xen_prstatus");
         goto out;
     }
-    filesz = sizeof(ctxt[0].c) * nr_vcpus;
+    filesz = sizeof(*ctxt) * nr_vcpus;
     sts = xc_core_shdr_set(shdr, strtab, XEN_DUMPCORE_SEC_PRSTATUS,
                            SHT_PROGBITS, offset, filesz,
-                           __alignof__(ctxt[0].c), sizeof(ctxt[0].c));
+                           __alignof__(*ctxt), sizeof(*ctxt));
     if ( sts != 0 )
         goto out;
     offset += filesz;
@@ -755,7 +755,7 @@ xc_domain_dumpcore_via_callback(int xc_handle,
         goto out;
 
     /* prstatus: .xen_prstatus */
-    sts = dump_rtn(args, (char *)&ctxt[0].c, sizeof(ctxt[0].c) * nr_vcpus);
+    sts = dump_rtn(args, (char *)ctxt, sizeof(*ctxt) * nr_vcpus);
     if ( sts != 0 )
         goto out;